package com.jinke.api.modules.app.response;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.jinke.api.component.CustomBigDecimalStringConverter;
import com.jinke.api.component.CustomIntegerStringConverter;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

@Data
@EqualsAndHashCode
@ColumnWidth(value = 32)
public class ExcelOrder {

    @ExcelProperty(index = 0, converter = CustomIntegerStringConverter.class)
    @ColumnWidth(value = 32)
    private Integer orderCount;
    @ExcelProperty(index = 1)
    @ColumnWidth(value = 32)
    private String orderNo;
    @ExcelProperty(index = 2)
    @ColumnWidth(value = 32)
    private String reference;
    @ExcelProperty(index = 3)
    private String reference2;
    @ExcelProperty(index = 4)
    private String note;
    @ExcelProperty(index = 5)
    private String sender;
    @ExcelProperty(index = 6)
    private String senderCountry;
    @ExcelProperty(index = 7)
    private String senderCompany;
    @ExcelProperty(index = 8)
    private String senderAddress1;
    @ExcelProperty(index = 9)
    private String senderAddress2;
    @ExcelProperty(index = 10)
    private String senderCity;
    @ExcelProperty(index = 11)
    private String senderState;
    @ExcelProperty(index = 12)
    private String senderZipcode;
    @ExcelProperty(index = 13)
    private String senderTelephone;
    @ExcelProperty(index = 14)
    private String senderEmail;
//    @ExcelProperty(index = 15)
//    private Boolean sendIsResidential;
    @ExcelProperty(index = 15)
    private String recipient;
    @ExcelProperty(index = 16)
    private String recipientCountry;
    @ExcelProperty(index = 17)
    private String recipientCompany;
    @ExcelProperty(index = 18)
    private String recipientAddress1;
    @ExcelProperty(index = 19)
    private String recipientAddress2;
    @ExcelProperty(index = 20)
    private String recipientCity;
    @ExcelProperty(index = 21)
    private String recipientState;
    @ExcelProperty(index = 22)
    private String recipientZipcode;
    @ExcelProperty(index = 23)
    private String recipientTelephone;
    @ExcelProperty(index = 24)
    private String recipientEmail;
    //    private Boolean recipientIsResidential;
    @ExcelProperty(index = 25)
    private String packageType = "your_package";
    @ExcelProperty(index = 26, converter = CustomIntegerStringConverter.class)
    //@ExcelProperty(index = 26)
    private Integer packageNumber;
    //    private Boolean isCod;
//    private BigDecimal codAmount;
//    private String codPaymentMethod;
    @ExcelProperty(index = 27, converter = CustomBigDecimalStringConverter.class)
    private BigDecimal dimensionsL;
    @ExcelProperty(index = 28, converter = CustomBigDecimalStringConverter.class)
    private BigDecimal dimensionsW;
    @ExcelProperty(index = 29, converter = CustomBigDecimalStringConverter.class)
    private BigDecimal dimensionsH;
    @ExcelProperty(index = 30, converter = CustomBigDecimalStringConverter.class)
    private BigDecimal weightLbKg;
    @ExcelProperty(index = 31, converter = CustomBigDecimalStringConverter.class)
    private BigDecimal weightOzG;
    @ExcelProperty(index = 32)
    private String unit;

    // 电池
    @ExcelProperty(index = 33, converter = CustomIntegerStringConverter.class)
    //@ExcelProperty(index = 33)
    private Integer batteryType;

    @ExcelIgnore
    private String batchNo;
//    private BigDecimal insuranceAmount;
    //  private String orderNo;

//    private String lithium;
//    private String lithiumType;
//    private String productTemplate;
//    private String scheduleB;
//    private String countryOfOrigin;
//    private BigDecimal commodityValue;
//    private Integer quantity;
//    private String unitCommodityWeight;
}
